#ifndef __DS18B20_H
#define __DS18B20_H
#include "sys.h"

//IO方向设置
#define DHT_IN()  {								\
	GPIO_InitTypeDef GPIO_InitStructure;		\
	GPIO_InitStructure.Pin = GPIO_PIN_9;		\
	GPIO_InitStructure.Mode = GPIO_MODE_INPUT;	\
    GPIO_InitStructure.Pull = GPIO_PULLDOWN;	\
	GPIO_InitStructure.Speed = GPIO_SPEED_HIGH;	\
	HAL_GPIO_Init(GPIOB, &GPIO_InitStructure);	\
}
#define DHT_OUT() {								\
	GPIO_InitTypeDef GPIO_InitStruct = {0};		\
	GPIO_InitStruct.Pin = GPIO_PIN_9;			\
	GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;	\
	GPIO_InitStruct.Pull = GPIO_PULLUP;			\
	GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;\
	HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);		\
}
////IO操作函数
#define	DHT11_DQ_OUT PBout(9) //数据端口	PB9
#define	DHT11_DQ_IN  PBin(9)  //数据端口	PB9

u8 dht11_Start(void);
u8 dht11ReadBit(void);
u8 dht11ReadByte(void);
u8 dht11Read(float *temp,float *humi);


#endif
